﻿<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd">
<!-- saved from url=(0109)http://www.vimer.cn/2009/10/linux%E5%B8%B8%E7%94%A8%E7%9A%84makefile%E6%A8%A1%E7%89%88%E7%BC%96%E5%86%99.html -->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><HTML 
xmlns="http://www.w3.org/1999/xhtml"><HEAD 
profile="http://gmpg.org/xfn/11"><META content="IE=10.000" 
http-equiv="X-UA-Compatible">
	 <!--<title>Vimer的程序世界 &raquo; linux常用的makefile模版编写</title>-->	 <TITLE>  
linux常用的makefile模版编写 | Vimer的程序世界 </TITLE>	 
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">	 
<META name="GENERATOR" content="MSHTML 10.00.9200.16635"> <!-- leave this for stats please --> 
<META content="1142452673661552636" property="qc:admins">         <LINK href="css/lightbox.css" 
rel="stylesheet" type="text/css" media="screen">	 <LINK href="linux常用的makefile模版编写%20%20Vimer的程序世界_files/style.css" 
rel="stylesheet" type="text/css" media="screen">	 <LINK title="Rss 订阅" href="http://www.vimer.cn/feed" 
rel="alternate" type="application/rss+xml">	 <LINK href="http://www.vimer.cn/xmlrpc.php" 
rel="pingback">     <LINK href="favicon.ico" rel="shortcut icon">		 <LINK title="2013 年七月" 
href="http://www.vimer.cn/2013/07" rel="archives">	 <LINK title="2013 年六月" href="http://www.vimer.cn/2013/06" 
rel="archives">	 <LINK title="2012 年十月" href="http://www.vimer.cn/2012/10" rel="archives">
	 <LINK title="2012 年七月" href="http://www.vimer.cn/2012/07" rel="archives">
	 <LINK title="2012 年五月" href="http://www.vimer.cn/2012/05" rel="archives">
	 <LINK title="2012 年四月" href="http://www.vimer.cn/2012/04" rel="archives">
	 <LINK title="2012 年三月" href="http://www.vimer.cn/2012/03" rel="archives">
	 <LINK title="2012 年二月" href="http://www.vimer.cn/2012/02" rel="archives">
	 <LINK title="2012 年一月" href="http://www.vimer.cn/2012/01" rel="archives">
	 <LINK title="2011 年十二月" href="http://www.vimer.cn/2011/12" rel="archives">
	 <LINK title="2011 年十一月" href="http://www.vimer.cn/2011/11" rel="archives">
	 <LINK title="2011 年十月" href="http://www.vimer.cn/2011/10" rel="archives">
	 <LINK title="2011 年九月" href="http://www.vimer.cn/2011/09" rel="archives">
	 <LINK title="2011 年八月" href="http://www.vimer.cn/2011/08" rel="archives">
	 <LINK title="2011 年七月" href="http://www.vimer.cn/2011/07" rel="archives">
	 <LINK title="2011 年六月" href="http://www.vimer.cn/2011/06" rel="archives">
	 <LINK title="2011 年五月" href="http://www.vimer.cn/2011/05" rel="archives">
	 <LINK title="2011 年四月" href="http://www.vimer.cn/2011/04" rel="archives">
	 <LINK title="2011 年三月" href="http://www.vimer.cn/2011/03" rel="archives">
	 <LINK title="2011 年二月" href="http://www.vimer.cn/2011/02" rel="archives">
	 <LINK title="2011 年一月" href="http://www.vimer.cn/2011/01" rel="archives">
	 <LINK title="2010 年十二月" href="http://www.vimer.cn/2010/12" rel="archives">
	 <LINK title="2010 年十一月" href="http://www.vimer.cn/2010/11" rel="archives">
	 <LINK title="2010 年十月" href="http://www.vimer.cn/2010/10" rel="archives">
	 <LINK title="2010 年九月" href="http://www.vimer.cn/2010/09" rel="archives">
	 <LINK title="2010 年八月" href="http://www.vimer.cn/2010/08" rel="archives">
	 <LINK title="2010 年七月" href="http://www.vimer.cn/2010/07" rel="archives">
	 <LINK title="2010 年六月" href="http://www.vimer.cn/2010/06" rel="archives">
	 <LINK title="2010 年五月" href="http://www.vimer.cn/2010/05" rel="archives">
	 <LINK title="2010 年四月" href="http://www.vimer.cn/2010/04" rel="archives">
	 <LINK title="2010 年三月" href="http://www.vimer.cn/2010/03" rel="archives">
	 <LINK title="2010 年二月" href="http://www.vimer.cn/2010/02" rel="archives">
	 <LINK title="2010 年一月" href="http://www.vimer.cn/2010/01" rel="archives">
	 <LINK title="2009 年十二月" href="http://www.vimer.cn/2009/12" rel="archives">
	 <LINK title="2009 年十一月" href="http://www.vimer.cn/2009/11" rel="archives">
	 <LINK title="2009 年十月" href="http://www.vimer.cn/2009/10" rel="archives">
		 <LINK title="Vimer的程序世界 » linux常用的makefile模版编写 评论 Feed" href="http://www.vimer.cn/2009/10/linux%e5%b8%b8%e7%94%a8%e7%9a%84makefile%e6%a8%a1%e7%89%88%e7%bc%96%e5%86%99.html/feed" 
rel="alternate" type="application/rss+xml"> <LINK id="wp-syntax-css-css" href="linux常用的makefile模版编写%20%20Vimer的程序世界_files/wp-syntax.css" 
rel="stylesheet" type="text/css" media="all"> 
<SCRIPT src="linux常用的makefile模版编写%20%20Vimer的程序世界_files/comment-reply.min.js" type="text/javascript"></SCRIPT>
 <LINK title="RSD" href="http://www.vimer.cn/xmlrpc.php?rsd" rel="EditURI" type="application/rsd+xml"> 
<LINK href="http://www.vimer.cn/wp-includes/wlwmanifest.xml" rel="wlwmanifest" 
type="application/wlwmanifest+xml"> <LINK title="GBK与UTF8 编码转化（C++）" href="http://www.vimer.cn/2009/10/gbk%e4%b8%8eutf8-%e7%bc%96%e7%a0%81%e8%bd%ac%e5%8c%96%ef%bc%88c%ef%bc%89.html" 
rel="prev"> <LINK title="时间time_t和string(char*)格式互转" href="http://www.vimer.cn/2009/10/%e6%97%b6%e9%97%b4time_t%e5%92%8cstring%e6%a0%bc%e5%bc%8f%e4%ba%92%e8%bd%ac.html" 
rel="next"> 
<META name="generator" content="WordPress 3.5.2"> <LINK href="http://www.vimer.cn/2009/10/linux%e5%b8%b8%e7%94%a8%e7%9a%84makefile%e6%a8%a1%e7%89%88%e7%bc%96%e5%86%99.html" 
rel="canonical"> <LINK href="http://www.vimer.cn/?p=358" rel="shortlink"> 
<STYLE type="text/css"><!----></STYLE>
<!-- wp thread comment 1.4.9.4.002 --> 
<STYLE type="text/css" media="screen">
.editComment, .editableComment, .textComment{
	display: inline;
}
.comment-childs{
	border: 1px solid #999;
	margin: 5px 2px 2px 4px;
	padding: 4px 2px 2px 4px;
	background-color: white;
}
.chalt{
	background-color: #E2E2E2;
}
#newcomment{
	border:1px dashed #777;width:90%;
}
#newcommentsubmit{
	color:red;
}
.adminreplycomment{
	border:1px dashed #777;
	width:99%;
	margin:4px;
	padding:4px;
}
.mvccls{
	color: #999;
}
			
</STYLE>
 
<SCRIPT type="text/javascript">

  var _gaq = _gaq || [];
  _gaq.push(['_setAccount', 'UA-15771608-1']);
  _gaq.push(['_trackPageview']);

  (function() {
    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
  })();

</SCRIPT>
 
<SCRIPT type="text/javascript">
/*300*250，创建于2013-3-8*/
var cpro_id = "u1228769";
</SCRIPT>
 
<SCRIPT src="linux常用的makefile模版编写%20%20Vimer的程序世界_files/f.js" type="text/javascript"></SCRIPT>
 </HEAD> 
<BODY>
<DIV id="header">
<DIV id="header-content">
<DIV class="blog-title">
<H1><A title="Vimer的程序世界" href="http://www.vimer.cn/">Vimer的程序世界</A> </H1>				 
<H3></H3>			 </DIV></DIV></DIV>
<DIV id="wrapper">
<DIV id="menu">
<DIV class="menu-titles">
<H2><A title="回到主页" href="http://www.vimer.cn/">主页</A> <!--
				
								<a href="http://www.vimer.cn/category/vim" title="查看分类 Vim">
									Vim
									<span></span>
								</a>
								<a href="http://www.vimer.cn/category/webserver" title="查看分类 webserver">
									webserver
									<span></span>
								</a><ul>	<li class="cat-item cat-item-776"><a href="http://www.vimer.cn/category/webserver/nginx" title="查看 nginx 下的所有文章">nginx</a>
</li>
</ul>
								<a href="http://www.vimer.cn/category/%e4%ba%a7%e5%93%81" title="查看分类 产品">
									产品
									<span></span>
								</a>
								<a href="http://www.vimer.cn/category/%e5%bc%80%e6%94%be%e5%b9%b3%e5%8f%b0" title="查看分类 开放平台">
									开放平台
									<span></span>
								</a>
								<a href="http://www.vimer.cn/category/%e5%bc%80%e6%ba%90%e9%a1%b9%e7%9b%ae" title="查看分类 开源项目">
									开源项目
									<span></span>
								</a>
								<a href="http://www.vimer.cn/category/os" title="查看分类 操作系统">
									操作系统
									<span></span>
								</a><ul>	<li class="cat-item cat-item-5"><a href="http://www.vimer.cn/category/os/linux" title="查看 Linux 下的所有文章">Linux</a>
</li>
	<li class="cat-item cat-item-6"><a href="http://www.vimer.cn/category/os/windows" title="查看 Windows 下的所有文章">Windows</a>
</li>
</ul>
								<a href="http://www.vimer.cn/category/database" title="查看分类 数据库">
									数据库
									<span></span>
								</a><ul>	<li class="cat-item cat-item-584"><a href="http://www.vimer.cn/category/database/mysql-database" title="查看 MySql 下的所有文章">MySql</a>
</li>
</ul>
								<a href="http://www.vimer.cn/category/zaxiang" title="查看分类 杂项">
									杂项
									<span></span>
								</a>
								<a href="http://www.vimer.cn/category/program" title="查看分类 程序设计">
									程序设计
									<span></span>
								</a><ul>	<li class="cat-item cat-item-442"><a href="http://www.vimer.cn/category/program/web3d" title="查看 3D 下的所有文章">3D</a>
</li>
	<li class="cat-item cat-item-53"><a href="http://www.vimer.cn/category/program/cc" title="查看 C/C++ 下的所有文章">C/C++</a>
</li>
	<li class="cat-item cat-item-782"><a href="http://www.vimer.cn/category/program/lua" title="查看 lua 下的所有文章">lua</a>
</li>
	<li class="cat-item cat-item-845"><a href="http://www.vimer.cn/category/program/objc" title="查看 objc 下的所有文章">objc</a>
</li>
	<li class="cat-item cat-item-585"><a href="http://www.vimer.cn/category/program/php-program" title="查看 php 下的所有文章">php</a>
</li>
	<li class="cat-item cat-item-493"><a href="http://www.vimer.cn/category/program/python" title="查看 python 下的所有文章">python</a>
</li>
	<li class="cat-item cat-item-315"><a href="http://www.vimer.cn/category/program/web" title="查看 Web 下的所有文章">Web</a>
</li>
	<li class="cat-item cat-item-625"><a href="http://www.vimer.cn/category/program/algorithm" title="查看 算法 下的所有文章">算法</a>
</li>
</ul>--> <!--
<a href="" title="Vim">Vim</a>
-->
				 <A title="Vim使用技巧" href="http://www.vimer.cn/category/vim">Vim</A>				 <A 
title="程序设计" href="http://www.vimer.cn/category/program">程序设计</A>				 <A title="操作系统" 
href="http://www.vimer.cn/category/os">操作系统</A>				 <A title="数据库" href="http://www.vimer.cn/category/database">数据库</A>
				 <A title="杂项" href="http://www.vimer.cn/category/zaxiang">杂项</A>				 <A 
title="给我留言或联系我" href="http://www.vimer.cn/index.php/留言">留言/联系</A>
			 </H2></DIV>
<DIV class="social">
<DIV class="rss"></DIV><A href="http://www.vimer.cn/feed" target="_blank">Rss 
订阅</A>				 <!--<div class="twitter"></div>-->				 <!--<a href="http://your-twitter-link.html">Follow me</a>-->
			 </DIV></DIV>
<DIV id="container">
<DIV class="post" id="post-358">
<DIV class="title-date-comments">
<DIV class="title-and-date">
<H2 class="post-title"><A title="linux常用的makefile模版编写" href="http://www.vimer.cn/2009/10/linux%e5%b8%b8%e7%94%a8%e7%9a%84makefile%e6%a8%a1%e7%89%88%e7%bc%96%e5%86%99.html">linux常用的makefile模版编写</A></H2>
<DIV class="post-date"><SPAN>Published on 十月 31, 2009</SPAN>				 </DIV></DIV>
<DIV class="comments-number"><!--2-->				 <A title="11,132个浏览" href="http://www.vimer.cn/2009/10/linux%e5%b8%b8%e7%94%a8%e7%9a%84makefile%e6%a8%a1%e7%89%88%e7%bc%96%e5%86%99.html">11,132</A>
			 </DIV></DIV>
<DIV class="entry">
<P><SPAN 
style="font-family: 微软雅黑;">在linux下面，我们不得不自己写makefile，makefile的确博大精深，但是实际上对于日常的使用来说，无非就是<BR>1：编译可执行程序。2：编译lib库 
3：编译so库<BR>本博针对上面三种目的各自写出了makefile模版，希望对大家有所帮助。<BR>一.编译可执行程序<BR>
当前目录下制定文件编译成可执行文件（连接外部库的话只需要更改INC和LIB即可）</SPAN></P>
<P style="border: 1px solid black; text-align: left; color: black; padding-top: 3px; padding-right: 3px; padding-left: 3px; font-family: Courier New; font-size: 12px; margin-right: auto; margin-left: auto; background-color: window;"><SPAN 
style="font-family: 微软雅黑;">CXX <SPAN style="color: rgb(51, 51, 153);">=</SPAN> 
g<SPAN style="color: rgb(51, 51, 153);">++</SPAN><BR>TARGET <SPAN style="color: rgb(51, 51, 153);">=</SPAN> 
bitmaploctest<BR>C_FLAGS <SPAN style="color: rgb(51, 51, 153);">+=</SPAN> <SPAN 
style="color: rgb(51, 51, 153);">-</SPAN>g <SPAN style="color: rgb(51, 51, 153);">-</SPAN>Wall<BR>
LIB_FLAGS <SPAN style="color: rgb(51, 51, 153);">=</SPAN> <SPAN style="color: rgb(51, 51, 153);">-</SPAN>pthread<BR>
all<SPAN style="color: rgb(51, 51, 153);">:</SPAN> $(TARGET)<BR>
bitmaploctest<SPAN style="color: rgb(51, 51, 153);">:</SPAN> bitmaploctest.o 
bitmaploc.o file_lock.o<BR>&nbsp;&nbsp;&nbsp;&nbsp;$(CXX) <SPAN style="color: rgb(51, 51, 153);">-</SPAN>o 
$@ $<SPAN style="color: rgb(51, 51, 153);">^</SPAN> $(LIB_FLAGS) $(LIB) 
$(C_FLAGS)<BR>.cpp.o<SPAN style="color: rgb(51, 51, 153);">:</SPAN><BR>
&nbsp;&nbsp;&nbsp;&nbsp;$(CXX) <SPAN style="color: rgb(51, 51, 153);">-</SPAN>c 
<SPAN style="color: rgb(51, 51, 153);">-</SPAN>o $<SPAN style="color: rgb(51, 51, 153);">*</SPAN>.o 
$(INC) $(C_FLAGS) $<SPAN style="color: rgb(51, 51, 153);">*</SPAN>.cpp<BR>
.cc.o<SPAN style="color: rgb(51, 51, 153);">:</SPAN><BR>
&nbsp;&nbsp;&nbsp;&nbsp;$(CXX) <SPAN style="color: rgb(51, 51, 153);">-</SPAN>c 
<SPAN style="color: rgb(51, 51, 153);">-</SPAN>o $<SPAN style="color: rgb(51, 51, 153);">*</SPAN>.o 
$(INC) $(C_FLAGS) $<SPAN style="color: rgb(51, 51, 153);">*</SPAN>.cc<BR>
clean<SPAN style="color: rgb(51, 51, 153);">:</SPAN><BR>
&nbsp;&nbsp;&nbsp;&nbsp;<SPAN style="color: rgb(51, 51, 153);">-</SPAN>rm <SPAN 
style="color: rgb(51, 51, 153);">-</SPAN>f <SPAN style="color: rgb(51, 51, 153);">*</SPAN>.o 
$(TARGET)</SPAN></P>
<P><SPAN style="font-family: 微软雅黑;">二.编译成lib库<BR>
当前目录下指定文件编译成lib库(一般lib库在编译的时候不会将使用的外部库编译进来，而是等编译成可执行程序时或者.so时)</SPAN></P>
<P style="border: 1px solid black; text-align: left; color: black; padding-top: 3px; padding-right: 3px; padding-left: 3px; font-family: Courier New; font-size: 12px; margin-right: auto; margin-left: auto; background-color: window;"><SPAN 
style="font-family: 微软雅黑;">INC_DIR<SPAN 
style="color: rgb(51, 51, 153);">=</SPAN> .<SPAN style="color: rgb(51, 51, 153);">/</SPAN><BR>
SRC_DIR<SPAN style="color: rgb(51, 51, 153);">=</SPAN> .<SPAN style="color: rgb(51, 51, 153);">/</SPAN><BR>
OBJ_DIR<SPAN style="color: rgb(51, 51, 153);">=</SPAN> .<SPAN style="color: rgb(51, 51, 153);">/</SPAN><BR>
LIB_DIR<SPAN style="color: rgb(51, 51, 153);">=</SPAN> .<SPAN style="color: rgb(51, 51, 153);">/</SPAN><BR>
H_DIR<SPAN style="color: rgb(51, 51, 153);">=</SPAN> .<SPAN style="color: rgb(51, 51, 153);">/</SPAN><BR>
OBJ_EXT<SPAN style="color: rgb(51, 51, 153);">=</SPAN> .o<BR>CXXSRC_EXT<SPAN 
style="color: rgb(51, 51, 153);">=</SPAN> .cpp<BR>CSRC_EXT<SPAN style="color: rgb(51, 51, 153);">=</SPAN> 
.c<BR>LIB_EXT<SPAN style="color: rgb(51, 51, 153);">=</SPAN> .a<BR>H_EXT<SPAN 
style="color: rgb(51, 51, 153);">=</SPAN> .h<BR>OBJECTS <SPAN style="color: rgb(51, 51, 153);">=</SPAN> 
$(OBJ_DIR)bitmaploc$(OBJ_EXT) \<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$(OBJ_DIR)file_lock$(OBJ_EXT)<BR>
LIB_TARGET <SPAN style="color: rgb(51, 51, 153);">=</SPAN> 
$(LIB_DIR)libbitmaploc$(LIB_EXT)<BR>$(OBJ_DIR)<SPAN style="color: rgb(51, 51, 153);">%</SPAN>$(OBJ_EXT)<SPAN 
style="color: rgb(51, 51, 153);">:</SPAN> $(SRC_DIR)<SPAN style="color: rgb(51, 51, 153);">%</SPAN>$(CXXSRC_EXT)<BR>
&nbsp;&nbsp;&nbsp;&nbsp;@echo<BR>&nbsp;&nbsp;&nbsp;&nbsp;@echo “Compiling $<SPAN 
style="color: rgb(51, 51, 153);">&lt;</SPAN> <SPAN style="color: rgb(51, 51, 153);">==</SPAN><SPAN 
style="color: rgb(51, 51, 153);">&gt;</SPAN> 
$@…”<BR>&nbsp;&nbsp;&nbsp;&nbsp;$(CXX) $(INC) $(C_FLAGS) <SPAN style="color: rgb(51, 51, 153);">-</SPAN>c 
$<SPAN style="color: rgb(51, 51, 153);">&lt;</SPAN> <SPAN style="color: rgb(51, 51, 153);">-</SPAN>o 
$@<BR>&nbsp;&nbsp;&nbsp;&nbsp;$(OBJ_DIR)<SPAN 
style="color: rgb(51, 51, 153);">%</SPAN>$(OBJ_EXT)<SPAN style="color: rgb(51, 51, 153);">:</SPAN> 
$(SRC_DIR)<SPAN style="color: rgb(51, 51, 153);">%</SPAN>$(CSRC_EXT)<BR>
&nbsp;&nbsp;&nbsp;&nbsp;@echo<BR>&nbsp;&nbsp;&nbsp;&nbsp;@echo “Compiling $<SPAN 
style="color: rgb(51, 51, 153);">&lt;</SPAN> <SPAN style="color: rgb(51, 51, 153);">==</SPAN><SPAN 
style="color: rgb(51, 51, 153);">&gt;</SPAN> 
$@…”<BR>&nbsp;&nbsp;&nbsp;&nbsp;$(CC) <SPAN 
style="color: rgb(51, 51, 153);">-</SPAN>I.<SPAN style="color: rgb(51, 51, 153);">/</SPAN> 
$(INC) $(C_FLAGS) <SPAN style="color: rgb(51, 51, 153);">-</SPAN>c $<SPAN style="color: rgb(51, 51, 153);">&lt;</SPAN> 
<SPAN style="color: rgb(51, 51, 153);">-</SPAN>o $@<BR>
&nbsp;&nbsp;&nbsp;&nbsp;all<SPAN 
style="color: rgb(51, 51, 153);">:</SPAN>$(LIB_TARGET)<BR>
&nbsp;&nbsp;&nbsp;&nbsp;$(LIB_TARGET)<SPAN 
style="color: rgb(51, 51, 153);">:</SPAN> $(OBJECTS)<BR>
&nbsp;&nbsp;&nbsp;&nbsp;all<SPAN style="color: rgb(51, 51, 153);">:</SPAN> 
$(OBJECTS)<BR>&nbsp;&nbsp;&nbsp;&nbsp;@echo<BR>&nbsp;&nbsp;&nbsp;&nbsp;$(AR) rc 
$(LIB_TARGET) $(OBJECTS)<BR>&nbsp;&nbsp;&nbsp;&nbsp;@echo “ok”<BR>clean<SPAN 
style="color: rgb(51, 51, 153);">:</SPAN><BR>&nbsp;&nbsp;&nbsp;&nbsp;rm <SPAN 
style="color: rgb(51, 51, 153);">-</SPAN>f $(LIB_TARGET) $(OBJECTS)</SPAN></P>
<P><SPAN style="font-family: 微软雅黑;">三.编译成so库<BR>
当前目录下指定文件编译成so库（必须将所有引用的外部库都编译进来）</SPAN></P>
<P style="border: 1px solid black; text-align: left; color: black; padding-top: 3px; padding-right: 3px; padding-left: 3px; font-family: Courier New; font-size: 12px; margin-right: auto; margin-left: auto; background-color: window;"><SPAN 
style="font-family: 微软雅黑;">CC <SPAN style="color: rgb(51, 51, 153);">=</SPAN> 
gcc<BR>CXX <SPAN style="color: rgb(51, 51, 153);">=</SPAN> g<SPAN style="color: rgb(51, 51, 153);">++</SPAN><BR>
CFLAGS&nbsp;&nbsp;<SPAN style="color: rgb(51, 51, 153);">=</SPAN> <SPAN style="color: rgb(51, 51, 153);">-</SPAN>Wall 
<SPAN style="color: rgb(51, 51, 153);">-</SPAN>pipe <SPAN style="color: rgb(51, 51, 153);">-</SPAN>DDEBUG 
<SPAN style="color: rgb(51, 51, 153);">-</SPAN>D_NEW_LIC <SPAN style="color: rgb(51, 51, 153);">-</SPAN>g 
<SPAN style="color: rgb(51, 51, 153);">-</SPAN>D_GNU_SOURCE <SPAN style="color: rgb(51, 51, 153);">-</SPAN>shared 
<SPAN style="color: rgb(51, 51, 153);">-</SPAN>D_REENTRANT<BR>
LIB&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<SPAN style="color: rgb(51, 51, 153);">=</SPAN> 
<SPAN style="color: rgb(51, 51, 153);">-</SPAN>lconfig <SPAN style="color: rgb(51, 51, 153);">-</SPAN>ldl 
<SPAN style="color: rgb(51, 51, 153);">-</SPAN>lrt <SPAN style="color: rgb(51, 51, 153);">-</SPAN>L..<SPAN 
style="color: rgb(51, 51, 153);">/</SPAN>..<SPAN style="color: rgb(51, 51, 153);">/</SPAN>lib 
<SPAN style="color: rgb(51, 51, 153);">-</SPAN>lttc <SPAN style="color: rgb(51, 51, 153);">-</SPAN>g<BR>
INCLUDE <SPAN style="color: rgb(51, 51, 153);">=</SPAN> <SPAN style="color: rgb(51, 51, 153);">-</SPAN>I..<SPAN 
style="color: rgb(51, 51, 153);">/</SPAN>spp_inc<BR>
OO&nbsp;&nbsp;&nbsp;&nbsp;<SPAN style="color: rgb(51, 51, 153);">=</SPAN> 
service.o tinystr.o tinyxml.o tinyxmlerror.o tinyxmlparser.o uin_conf.o 
stat.o<BR>TARGETS <SPAN style="color: rgb(51, 51, 153);">=</SPAN> ..<SPAN style="color: rgb(51, 51, 153);">/</SPAN>..<SPAN 
style="color: rgb(51, 51, 153);">/</SPAN>lib<SPAN style="color: rgb(51, 51, 153);">/</SPAN>libRanch.so<BR>
all<SPAN style="color: rgb(51, 51, 153);">:</SPAN> $(TARGETS)<BR>
&nbsp;&nbsp;&nbsp;&nbsp;stat<SPAN 
style="color: rgb(51, 51, 153);">:</SPAN>tool_stat.cpp<BR>
&nbsp;&nbsp;&nbsp;&nbsp;$(CXX) $(INCLUDE) tool_stat.cpp <SPAN style="color: rgb(51, 51, 153);">-</SPAN>o 
tool_stat stat.o tinystr.o tinyxml.o tinyxmlerror.o tinyxmlparser.o <SPAN style="color: rgb(51, 51, 153);">-</SPAN>g<BR>
&nbsp;&nbsp;&nbsp;&nbsp;cp tool_stat ..<SPAN 
style="color: rgb(51, 51, 153);">/</SPAN>..<SPAN style="color: rgb(51, 51, 153);">/</SPAN>bin<BR>
&nbsp;&nbsp;&nbsp;&nbsp;$(TARGETS)<SPAN 
style="color: rgb(51, 51, 153);">:</SPAN> $(OO)<BR>
&nbsp;&nbsp;&nbsp;&nbsp;$(CXX) $(CFLAGS) $(INCLUDE) $(OO) <SPAN style="color: rgb(51, 51, 153);">-</SPAN>o 
$@ $(LIBDIR) $(LIB)<BR>.c.o<SPAN style="color: rgb(51, 51, 153);">:</SPAN><BR>
&nbsp;&nbsp;&nbsp;&nbsp;$(CC)&nbsp;&nbsp;$(CFLAGS) <SPAN style="color: rgb(51, 51, 153);">-</SPAN>c 
$(INCLUDE) $<SPAN style="color: rgb(51, 51, 153);">&lt;</SPAN><BR>
&nbsp;&nbsp;&nbsp;&nbsp;echo $@<BR>.cpp.o<SPAN 
style="color: rgb(51, 51, 153);">:</SPAN><BR>&nbsp;&nbsp;&nbsp;&nbsp;$(CXX) 
$(CFLAGS) <SPAN style="color: rgb(51, 51, 153);">-</SPAN>c $(INCLUDE) $<SPAN 
style="color: rgb(51, 51, 153);">&lt;</SPAN><BR>&nbsp;&nbsp;&nbsp;&nbsp;echo 
$@<BR>&nbsp;&nbsp;&nbsp;&nbsp;<SPAN 
style="color: rgb(51, 51, 153);">%</SPAN><SPAN 
style="color: rgb(51, 51, 153);">:</SPAN><SPAN 
style="color: rgb(51, 51, 153);">%</SPAN>.c<BR>&nbsp;&nbsp;&nbsp;&nbsp;$(CC) 
$(CFLAGS) <SPAN style="color: rgb(51, 51, 153);">-</SPAN>o $@ $<SPAN style="color: rgb(51, 51, 153);">&lt;</SPAN> 
$(OO) $(LDFLAGS)<BR>&nbsp;&nbsp;&nbsp;&nbsp;echo $@<BR>clean<SPAN style="color: rgb(51, 51, 153);">:</SPAN><BR>
&nbsp;&nbsp;&nbsp;&nbsp;rm <SPAN style="color: rgb(51, 51, 153);">-</SPAN>f 
<SPAN style="color: rgb(51, 51, 153);">*</SPAN>.o<BR>&nbsp;&nbsp;&nbsp;&nbsp;rm 
<SPAN style="color: rgb(51, 51, 153);">-</SPAN>f 
$(TARGETS)<BR>&nbsp;&nbsp;&nbsp;&nbsp;rm <SPAN 
style="color: rgb(51, 51, 153);">-</SPAN>f tool_stat</SPAN></P>
<P><SPAN style="font-family: 微软雅黑;">OK，我常用的makefile也就这三种格式，希望对大家有用。</SPAN></P>
<P><SPAN style="font-family: 微软雅黑;">版权所有，转载请注明出处。</SPAN><A href="http://www.vimer.cn/"><SPAN 
style="font-family: 微软雅黑;">http://www.vimer.cn</SPAN></A></P>
<DIV class="posturl">
<P><SPAN class="bold"><STRONG>原创文章，版权所有。转载请注明：</STRONG></SPAN>转载自<A class="link" 
href="http://www.vimer.cn/" target="_top">Vimer的程序世界</A> [ <A class="link" href="http://www.vimer.cn/" 
target="_top">http://www.vimer.cn/</A> ]</P><!--<p><span class="bold"><strong>本文链接地址:</strong></span> <a class="link" style="word-break:break-all" href="http://www.vimer.cn/2009/10/linux%e5%b8%b8%e7%94%a8%e7%9a%84makefile%e6%a8%a1%e7%89%88%e7%bc%96%e5%86%99.html" target="_top">http://www.vimer.cn/2009/10/linux%e5%b8%b8%e7%94%a8%e7%9a%84makefile%e6%a8%a1%e7%89%88%e7%bc%96%e5%86%99.html</a></p>--> 
<P><SPAN class="bold"><STRONG>本文链接地址:</STRONG></SPAN> <A class="link" style="-ms-word-break: break-all;" 
href="http://www.vimer.cn/?p=358" 
target="_top">http://www.vimer.cn/?p=358</A></P></DIV>
<P class="postmetadata">Posted in: <A title="查看 C/C++ 中的全部文章" href="http://www.vimer.cn/category/program/cc" 
rel="category tag">C/C++</A>, <A title="查看 Linux 中的全部文章" href="http://www.vimer.cn/category/os/linux" 
rel="category tag">Linux</A> by Dante,11,132 views Tags: <A href="http://www.vimer.cn/tag/lib" 
rel="tag">lib</A>, <A href="http://www.vimer.cn/tag/linux" rel="tag">Linux</A>, 
<A href="http://www.vimer.cn/tag/makefile" rel="tag">makefile</A>, <A href="http://www.vimer.cn/tag/so" 
rel="tag">so</A>, <A href="http://www.vimer.cn/tag/%e5%8f%af%e6%89%a7%e8%a1%8c%e7%a8%8b%e5%ba%8f" 
rel="tag">可执行程序</A>, <A href="http://www.vimer.cn/tag/%e6%a8%a1%e7%89%88" rel="tag">模版</A> 
				</P><!--dantezhu 广告预留--> 
<SCRIPT type="text/javascript">/*468*60，创建于2011-3-20*/ var cpro_id = 'u416699';</SCRIPT>

<SCRIPT src="linux常用的makefile模版编写%20%20Vimer的程序世界_files/c.js" type="text/javascript"></SCRIPT>
		 </DIV>
<DIV class="navigationex"><BR><!--&laquo; <a href="http://www.vimer.cn/2009/10/gbk%e4%b8%8eutf8-%e7%bc%96%e7%a0%81%e8%bd%ac%e5%8c%96%ef%bc%88c%ef%bc%89.html" rel="prev">GBK与UTF8 编码转化（C++）</a> <br/><br/>  <a href="http://www.vimer.cn/2009/10/%e6%97%b6%e9%97%b4time_t%e5%92%8cstring%e6%a0%bc%e5%bc%8f%e4%ba%92%e8%bd%ac.html" rel="next">时间time_t和string(char*)格式互转</a> &raquo;-->
			 
<DIV class="floatleft">较旧一篇« <A href="http://www.vimer.cn/2009/10/gbk%e4%b8%8eutf8-%e7%bc%96%e7%a0%81%e8%bd%ac%e5%8c%96%ef%bc%88c%ef%bc%89.html" 
rel="prev">GBK与UTF8 编码转化（C++）</A></DIV>
<DIV class="floatright"><A href="http://www.vimer.cn/2009/10/%e6%97%b6%e9%97%b4time_t%e5%92%8cstring%e6%a0%bc%e5%bc%8f%e4%ba%92%e8%bd%ac.html" 
rel="next">时间time_t和string(char*)格式互转</A>»较新一篇</DIV><BR><BR></DIV><!--div class="comments-template"-->
		 
<DIV id="comments-wrap"><!-- You can start editing here. --> <!--<h3 id="comments-wrap">2 Comments to &#8220;linux常用的makefile模版编写&#8221;</h3>--> 
<H3 id="comments-wrap">2 个评论 在 “linux常用的makefile模版编写”</H3>
<DIV class="comments-navigation">
<DIV class="alignleft"></DIV>
<DIV class="alignright"></DIV></DIV>
<OL class="commentlist">
  <LI class="comment even thread-even depth-1" id="comment-8500">
  <DIV class="comment-body" id="div-comment-8500">
  <DIV class="comment-author vcard"><IMG width="32" height="32" class="avatar avatar-32 photo" 
  alt="" src="linux常用的makefile模版编写%20%20Vimer的程序世界_files/ad516503a11cd5ca435acc9bb6523536.png">		<CITE 
  class="fn"><A class="url" href="http://blog.csdn.net/zhuizhuziwo" rel="external nofollow">奔跑的蜗牛</A></CITE> 
  <SPAN class="says">说道：</SPAN>		</DIV>
  <DIV class="comment-meta commentmetadata"><A href="http://www.vimer.cn/2009/10/linux%e5%b8%b8%e7%94%a8%e7%9a%84makefile%e6%a8%a1%e7%89%88%e7%bc%96%e5%86%99.html/comment-page-1#comment-8500">2011年11月18日 
  1:00 上午</A>		</DIV>
  <P>最近因为要在练习用各种方式写tcp 
  server。所以想在一个目录里面的多个。cpp文件产生多个可执行文件。但是在产生可执行文件的时候，一直找不到一个比较通用的Makefile写法。不知道你知道不？也google、百度了好多次，也看了文档，但是不知道怎么写。请赐教。<BR>
  比如：<BR>我在文件夹里面有a.cpp  b.cpp c.cpp….以后还会添加。<BR>
  下面是我写的一个Makefile。在产生执行文件的时候没有想到好的通用的方法。</P>
  <P>CC = gcc<BR>CXX = g++<BR>CFLAGS += -g -Wall<BR>#CFLAGS  += -O2 -Wall -pipe 
  -D_GNU_SOURCE<BR>LIB     = -L../lib/<BR>INCLUDE = -I../lib/</P>
  <P>OO      =<BR>TARGETS = epoll server_fork server_mutil_talk client 
  client_for client_for2 server_select<BR>SRCS =  epoll.cpp server_fork.cpp 
  server_mutil_talk.cpp client.cpp client_for.cpp client_for2.cpp 
  server_select.cpp</P>
  <P>all:$(TARGETS)<BR>	@echo “All”</P>
  <P>$(SRC:%.cpp,%.o): ../lib/comm.o ../lib/net.o<BR>	@echo “link:” $@<BR>
  	$(CXX) $(CFLAGS) $(INCLUDE)  $(LIB) $^ -o $@</P>
  <P>#epoll:epoll.o ../lib/comm.o ../lib/net.o<BR>#	@echo “link:” $@<BR>#	$(CXX) 
  $(CFLAGS) $(INCLUDE)  $(LIB) $^ -o $@ </P>
  <P>.cpp.o:<BR>	@echo “Compiling:” $@<BR>	$(CXX) $(CFLAGS) -c $(INCLUDE) 
  $&lt;</P>
  <P>.c.o:<BR>	@echo "compiling:" $@<BR>	$(CC) $(CFLAGS) -c $(INCLUDE) $&lt;</P>
  <P>clean:<BR>	rm -f *.o *.so *.d .dep.* $(TARGETS)</P>
  <P class="thdrpy">[<A onclick="movecfm(event,8500,1,'奔跑的蜗牛');" href="javascript:void(0)">回复</A>]</P>
  <DIV class="comment-childs chalt" id="comment-8510"><IMG width="32" height="32" 
  class="avatar avatar-32 photo" alt="" src="linux常用的makefile模版编写%20%20Vimer的程序世界_files/d39e272545aea4fd2ccca6b10734ff03.jpg">
  <P><CITE><A class="url" href="http://www.vimer.cn/" 
  rel="external nofollow">Dante</A></CITE> 回复:<BR><SMALL 
  class="commentmetadata">十一月 18th, 2011 at 11:49 上午</SMALL></P>
  <P>这是我们编译CGI的一个模板，也是一个cpp编译成一个CGI：</P>
  <DIV class="wp_syntax">
  <TABLE>
    <TBODY>
    <TR>
      <TD class="line_numbers">
<PRE>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
</PRE></TD>
      <TD class="code">
<PRE class="make" style="font-family: monospace;"><SPAN style="color: rgb(102, 102, 34); font-weight: bold;">include</SPAN> makefile<SPAN style="color: rgb(0, 68, 0);">.</SPAN>inc
&nbsp;
trunk_path <SPAN style="color: rgb(0, 68, 0);">=</SPAN> <SPAN style="color: rgb(0, 68, 0);">$</SPAN><SPAN style="color: rgb(0, 68, 0);">(</SPAN><SPAN style="color: rgb(0, 0, 204); font-weight: bold;">shell</SPAN> pwd <SPAN style="color: rgb(0, 68, 0);">|</SPAN> sed <SPAN style="color: rgb(204, 34, 0);">"s/<SPAN style="color: rgb(0, 0, 153); font-weight: bold;">\/</SPAN>application.*//"</SPAN><SPAN style="color: rgb(0, 68, 0);">)</SPAN>
&nbsp;
<SPAN style="color: rgb(51, 153, 0); font-style: italic;">#-D_DEBUG_VER_</SPAN>
C_FLAGS <SPAN style="color: rgb(0, 68, 0);">+=</SPAN> <SPAN style="color: rgb(0, 68, 0);">-</SPAN>MMD <SPAN style="color: rgb(0, 68, 0);">-</SPAN>g <SPAN style="color: rgb(0, 68, 0);">-</SPAN>Wall <SPAN style="color: rgb(0, 68, 0);">-</SPAN>fPIC <SPAN style="color: rgb(0, 68, 0);">-</SPAN>shared
&nbsp;
TAR_DIR <SPAN style="color: rgb(0, 68, 0);">=</SPAN> <SPAN style="color: rgb(0, 68, 0);">./</SPAN>
SRC_DIR <SPAN style="color: rgb(0, 68, 0);">=</SPAN> <SPAN style="color: rgb(0, 68, 0);">./</SPAN>
&nbsp;
STRIP_DIR <SPAN style="color: rgb(0, 68, 0);">=</SPAN> <SPAN style="color: rgb(0, 68, 0);">../</SPAN>cgi<SPAN style="color: rgb(0, 68, 0);">-</SPAN>bin<SPAN style="color: rgb(0, 68, 0);">/</SPAN>
RELEASE_DIR <SPAN style="color: rgb(0, 68, 0);">=</SPAN> <SPAN style="color: rgb(0, 68, 0);">/</SPAN>data<SPAN style="color: rgb(0, 68, 0);">/</SPAN>release<SPAN style="color: rgb(0, 68, 0);">/</SPAN>qzone<SPAN style="color: rgb(0, 68, 0);">/</SPAN>module<SPAN style="color: rgb(0, 68, 0);">/</SPAN>cgi<SPAN style="color: rgb(0, 68, 0);">-</SPAN>bin<SPAN style="color: rgb(0, 68, 0);">/</SPAN>
&nbsp;
TARGETS <SPAN style="color: rgb(0, 68, 0);">=</SPAN> \
		  <SPAN style="color: rgb(0, 68, 0);">$</SPAN><SPAN style="color: rgb(0, 68, 0);">(</SPAN><SPAN style="color: rgb(0, 0, 136);">TAR_DIR</SPAN><SPAN style="color: rgb(0, 68, 0);">)</SPAN>targetname<SPAN style="color: rgb(0, 68, 0);">.</SPAN>cgi \
&nbsp;
&nbsp;
TAR_SUB_DIRS <SPAN style="color: rgb(0, 68, 0);">=</SPAN> <SPAN style="color: rgb(0, 68, 0);">$</SPAN><SPAN style="color: rgb(0, 68, 0);">(</SPAN><SPAN style="color: rgb(0, 0, 204); font-weight: bold;">sort</SPAN> <SPAN style="color: rgb(0, 68, 0);">$</SPAN><SPAN style="color: rgb(0, 68, 0);">(</SPAN><SPAN style="color: rgb(0, 0, 204); font-weight: bold;">dir</SPAN> <SPAN style="color: rgb(0, 68, 0);">$</SPAN><SPAN style="color: rgb(0, 68, 0);">(</SPAN><SPAN style="color: rgb(0, 0, 136);">TARGETS</SPAN><SPAN style="color: rgb(0, 68, 0);">)</SPAN><SPAN style="color: rgb(0, 68, 0);">)</SPAN><SPAN style="color: rgb(0, 68, 0);">)</SPAN>
&nbsp;
DEPENDS <SPAN style="color: rgb(0, 68, 0);">=</SPAN> <SPAN style="color: rgb(0, 68, 0);">$</SPAN><SPAN style="color: rgb(0, 68, 0);">(</SPAN><SPAN style="color: rgb(0, 0, 204); font-weight: bold;">patsubst</SPAN> <SPAN style="color: rgb(0, 68, 0);">%.</SPAN>cgi<SPAN style="color: rgb(0, 68, 0);">,</SPAN> <SPAN style="color: rgb(0, 68, 0);">%.</SPAN>d<SPAN style="color: rgb(0, 68, 0);">,</SPAN> <SPAN style="color: rgb(0, 68, 0);">$</SPAN><SPAN style="color: rgb(0, 68, 0);">(</SPAN><SPAN style="color: rgb(0, 0, 136);">TARGETS</SPAN><SPAN style="color: rgb(0, 68, 0);">)</SPAN><SPAN style="color: rgb(0, 68, 0);">)</SPAN>
&nbsp;
<SPAN style="color: rgb(153, 0, 0);">.PHONY</SPAN><SPAN style="color: rgb(0, 68, 0);">:</SPAN> all clean init CHECK
&nbsp;
all<SPAN style="color: rgb(0, 68, 0);">:</SPAN> init CHECK <SPAN style="color: rgb(0, 68, 0);">$</SPAN><SPAN style="color: rgb(0, 68, 0);">(</SPAN><SPAN style="color: rgb(0, 0, 136);">TARGETS</SPAN><SPAN style="color: rgb(0, 68, 0);">)</SPAN>
	<SPAN style="color: rgb(0, 68, 0);">@</SPAN>echo <SPAN style="color: rgb(0, 68, 0);">-</SPAN>e <SPAN style="color: rgb(204, 34, 0);">"<SPAN style="color: rgb(0, 0, 153); font-weight: bold;">\0</SPAN>33[1;32m<SPAN style="color: rgb(0, 0, 153); font-weight: bold;">\n</SPAN>Success!<SPAN style="color: rgb(0, 0, 153); font-weight: bold;">\0</SPAN>33[0m"</SPAN>
&nbsp;
<SPAN style="color: rgb(0, 68, 0);">$</SPAN><SPAN style="color: rgb(0, 68, 0);">(</SPAN><SPAN style="color: rgb(0, 0, 136);">TAR_DIR</SPAN><SPAN style="color: rgb(0, 68, 0);">)</SPAN><SPAN style="color: rgb(0, 68, 0);">%:</SPAN> <SPAN style="color: rgb(0, 68, 0);">$</SPAN><SPAN style="color: rgb(0, 68, 0);">(</SPAN><SPAN style="color: rgb(0, 0, 136);">SRC_DIR</SPAN><SPAN style="color: rgb(0, 68, 0);">)</SPAN><SPAN style="color: rgb(0, 68, 0);">%.</SPAN>cpp
	<SPAN style="color: rgb(0, 68, 0);">@</SPAN>echo <SPAN style="color: rgb(0, 68, 0);">-</SPAN>e <SPAN style="color: rgb(204, 34, 0);">"<SPAN style="color: rgb(0, 0, 153); font-weight: bold;">\0</SPAN>33[1;33m<SPAN style="color: rgb(0, 0, 153); font-weight: bold;">\n</SPAN>Compiling&amp;Linking $&lt; ==&gt; $@<SPAN style="color: rgb(0, 0, 153); font-weight: bold;">\0</SPAN>33[0m"</SPAN>
	<SPAN style="color: rgb(0, 68, 0);">$</SPAN><SPAN style="color: rgb(0, 68, 0);">(</SPAN><SPAN style="color: rgb(0, 0, 136);">CXX</SPAN><SPAN style="color: rgb(0, 68, 0);">)</SPAN> <SPAN style="color: rgb(0, 68, 0);">$</SPAN><SPAN style="color: rgb(0, 68, 0);">(</SPAN><SPAN style="color: rgb(0, 0, 136);">INC</SPAN><SPAN style="color: rgb(0, 68, 0);">)</SPAN> <SPAN style="color: rgb(0, 68, 0);">$</SPAN><SPAN style="color: rgb(0, 68, 0);">(</SPAN><SPAN style="color: rgb(0, 0, 136);">C_FLAGS</SPAN><SPAN style="color: rgb(0, 68, 0);">)</SPAN> <SPAN style="color: rgb(0, 0, 136); font-weight: bold;">$&lt;</SPAN> <SPAN style="color: rgb(0, 68, 0);">-</SPAN>o <SPAN style="color: rgb(0, 0, 136); font-weight: bold;">$@</SPAN> <SPAN style="color: rgb(0, 68, 0);">$</SPAN><SPAN style="color: rgb(0, 68, 0);">(</SPAN><SPAN style="color: rgb(0, 0, 136);">LIB</SPAN><SPAN style="color: rgb(0, 68, 0);">)</SPAN>
<SPAN style="color: rgb(102, 102, 34); font-weight: bold;">ifneq</SPAN> <SPAN style="color: rgb(0, 68, 0);">(</SPAN><SPAN style="color: rgb(0, 68, 0);">$</SPAN><SPAN style="color: rgb(0, 68, 0);">(</SPAN><SPAN style="color: rgb(0, 0, 136);">TAR_DIR</SPAN><SPAN style="color: rgb(0, 68, 0);">)</SPAN><SPAN style="color: rgb(0, 68, 0);">,</SPAN> <SPAN style="color: rgb(0, 68, 0);">$</SPAN><SPAN style="color: rgb(0, 68, 0);">(</SPAN><SPAN style="color: rgb(0, 0, 136);">STRIP_DIR</SPAN><SPAN style="color: rgb(0, 68, 0);">)</SPAN><SPAN style="color: rgb(0, 68, 0);">)</SPAN>
	cp <SPAN style="color: rgb(0, 0, 136); font-weight: bold;">$@</SPAN> <SPAN style="color: rgb(0, 68, 0);">$</SPAN><SPAN style="color: rgb(0, 68, 0);">(</SPAN><SPAN style="color: rgb(0, 0, 136);">STRIP_DIR</SPAN><SPAN style="color: rgb(0, 68, 0);">)</SPAN>
<SPAN style="color: rgb(102, 102, 34); font-weight: bold;">endif</SPAN>
	strip <SPAN style="color: rgb(0, 68, 0);">$</SPAN><SPAN style="color: rgb(0, 68, 0);">(</SPAN><SPAN style="color: rgb(0, 0, 136);">STRIP_DIR</SPAN><SPAN style="color: rgb(0, 68, 0);">)</SPAN><SPAN style="color: rgb(0, 0, 136); font-weight: bold;">$@</SPAN>
<SPAN style="color: rgb(102, 102, 34); font-weight: bold;">ifneq</SPAN> <SPAN style="color: rgb(0, 68, 0);">(</SPAN><SPAN style="color: rgb(0, 68, 0);">$</SPAN><SPAN style="color: rgb(0, 68, 0);">(</SPAN><SPAN style="color: rgb(0, 0, 136);">STRIP_DIR</SPAN><SPAN style="color: rgb(0, 68, 0);">)</SPAN><SPAN style="color: rgb(0, 68, 0);">,</SPAN> <SPAN style="color: rgb(0, 68, 0);">$</SPAN><SPAN style="color: rgb(0, 68, 0);">(</SPAN><SPAN style="color: rgb(0, 0, 136);">RELEASE_DIR</SPAN><SPAN style="color: rgb(0, 68, 0);">)</SPAN><SPAN style="color: rgb(0, 68, 0);">)</SPAN>
	cp <SPAN style="color: rgb(0, 68, 0);">$</SPAN><SPAN style="color: rgb(0, 68, 0);">(</SPAN><SPAN style="color: rgb(0, 0, 136);">STRIP_DIR</SPAN><SPAN style="color: rgb(0, 68, 0);">)</SPAN><SPAN style="color: rgb(0, 0, 136); font-weight: bold;">$@</SPAN> <SPAN style="color: rgb(0, 68, 0);">$</SPAN><SPAN style="color: rgb(0, 68, 0);">(</SPAN><SPAN style="color: rgb(0, 0, 136);">RELEASE_DIR</SPAN><SPAN style="color: rgb(0, 68, 0);">)</SPAN>
<SPAN style="color: rgb(102, 102, 34); font-weight: bold;">endif</SPAN>
&nbsp;
clean<SPAN style="color: rgb(0, 68, 0);">:</SPAN>
	rm <SPAN style="color: rgb(0, 68, 0);">-</SPAN>f <SPAN style="color: rgb(0, 68, 0);">$</SPAN><SPAN style="color: rgb(0, 68, 0);">(</SPAN><SPAN style="color: rgb(0, 0, 136);">TARGETS</SPAN><SPAN style="color: rgb(0, 68, 0);">)</SPAN> <SPAN style="color: rgb(0, 68, 0);">$</SPAN><SPAN style="color: rgb(0, 68, 0);">(</SPAN><SPAN style="color: rgb(0, 0, 136);">DEPENDS</SPAN><SPAN style="color: rgb(0, 68, 0);">)</SPAN>
&nbsp;
init<SPAN style="color: rgb(0, 68, 0);">:</SPAN>
	mkdir <SPAN style="color: rgb(0, 68, 0);">-</SPAN>p <SPAN style="color: rgb(0, 68, 0);">$</SPAN><SPAN style="color: rgb(0, 68, 0);">(</SPAN><SPAN style="color: rgb(0, 0, 204); font-weight: bold;">sort</SPAN> <SPAN style="color: rgb(0, 68, 0);">./</SPAN> <SPAN style="color: rgb(0, 68, 0);">$</SPAN><SPAN style="color: rgb(0, 68, 0);">(</SPAN><SPAN style="color: rgb(0, 0, 136);">TAR_DIR</SPAN><SPAN style="color: rgb(0, 68, 0);">)</SPAN> <SPAN style="color: rgb(0, 68, 0);">$</SPAN><SPAN style="color: rgb(0, 68, 0);">(</SPAN><SPAN style="color: rgb(0, 0, 136);">RELEASE_DIR</SPAN><SPAN style="color: rgb(0, 68, 0);">)</SPAN> <SPAN style="color: rgb(0, 68, 0);">$</SPAN><SPAN style="color: rgb(0, 68, 0);">(</SPAN><SPAN style="color: rgb(0, 0, 136);">SRC_DIR</SPAN><SPAN style="color: rgb(0, 68, 0);">)</SPAN> <SPAN style="color: rgb(0, 68, 0);">$</SPAN><SPAN style="color: rgb(0, 68, 0);">(</SPAN><SPAN style="color: rgb(0, 0, 136);">STRIP_DIR</SPAN><SPAN style="color: rgb(0, 68, 0);">)</SPAN> <SPAN style="color: rgb(0, 68, 0);">$</SPAN><SPAN style="color: rgb(0, 68, 0);">(</SPAN><SPAN style="color: rgb(0, 0, 136);">TAR_SUB_DIRS</SPAN><SPAN style="color: rgb(0, 68, 0);">)</SPAN><SPAN style="color: rgb(0, 68, 0);">)</SPAN>
&nbsp;
CHECK<SPAN style="color: rgb(0, 68, 0);">:</SPAN>
	<SPAN style="color: rgb(0, 68, 0);">$</SPAN><SPAN style="color: rgb(0, 68, 0);">(</SPAN><SPAN style="color: rgb(0, 0, 136);">trunk_path</SPAN><SPAN style="color: rgb(0, 68, 0);">)</SPAN><SPAN style="color: rgb(0, 68, 0);">/</SPAN>makeinclude<SPAN style="color: rgb(0, 68, 0);">/</SPAN>make_check
&nbsp;
<SPAN style="color: rgb(0, 68, 0);">-</SPAN><SPAN style="color: rgb(102, 102, 34); font-weight: bold;">include</SPAN> <SPAN style="color: rgb(0, 68, 0);">$</SPAN><SPAN style="color: rgb(0, 68, 0);">(</SPAN><SPAN style="color: rgb(0, 0, 136);">DEPENDS</SPAN><SPAN style="color: rgb(0, 68, 0);">)</SPAN></PRE></TD></TR></TBODY></TABLE></DIV>
  <P class="thdrpy">[<A onclick="movecfm(event,8510,2,'Dante');" href="javascript:void(0)">回复</A>]</P></DIV>
  <DIV class="reply"></DIV></DIV></LI></OL>
<DIV class="comments-navigation">
<DIV class="alignleft"></DIV>
<DIV class="alignright"></DIV></DIV>
<DIV id="respond"><!--<h3 class="postcomment">Leave a Reply</h3>--> 
<H3 class="postcomment">我要评论</H3>
<DIV class="cancel-comment-reply"><SMALL><A id="cancel-comment-reply-link" 
style="display: none;" href="http://www.vimer.cn/2009/10/linux%E5%B8%B8%E7%94%A8%E7%9A%84makefile%E6%A8%A1%E7%89%88%E7%BC%96%E5%86%99.html#respond" 
rel="nofollow">点击这里取消回复。</A></SMALL> </DIV>
<FORM id="commentform" action="http://www.vimer.cn/wp-comments-post.php" method="post">
<P><INPUT name="author" tabindex="1" class="textarea" id="author" type="text" 
size="28">	 <LABEL for="author">姓名</LABEL> *	</P>
<P><INPUT name="email" tabindex="2" class="textarea" id="email" type="text" 
size="28">	 <LABEL for="email">电子邮件</LABEL> *	</P>
<P><INPUT name="url" tabindex="3" class="textarea" id="url" type="text" size="28">
	 <LABEL for="url"><ACRONYM 
title="Uniform Resource Identifier">URI</ACRONYM></LABEL>	 </P>
<P><TEXTAREA name="comment" tabindex="4" class="textarea" id="comment" rows="10" cols="60"></TEXTAREA>
	 </P>
<P><INPUT name="submit" tabindex="5" class="Cbutton" id="submit" type="submit" value="发表评论">
	 <INPUT name="comment_post_ID" id="comment_post_ID" type="hidden" value="358"> 
<INPUT name="comment_parent" id="comment_parent" type="hidden" value="0">	 </P>
<P style="display: none;"><INPUT name="akismet_comment_nonce" id="akismet_comment_nonce" 
type="hidden" value="7a3cbf3b35"></P>
<P><INPUT name="comment_reply_ID" id="comment_reply_ID" type="hidden" 
value="0"><INPUT name="comment_reply_dp" id="comment_reply_dp" type="hidden" 
value="0"></P>
<DIV id="cancel_reply" style="display: none;"><A style="color: red;" onclick="movecfm(null,0,1,null);" 
href="javascript:void(0)">点击取消回复</A></DIV>
<SCRIPT type="text/javascript">
/* <![CDATA[ */
var commentformid = "commentform";
var USERINFO = false;
var atreply = "none";
/* ]]> */
</SCRIPT>
 
<SCRIPT src="linux常用的makefile模版编写%20%20Vimer的程序世界_files/wp-thread-comment.js.htm" type="text/javascript"></SCRIPT>
 
<SCRIPT type="text/javascript">
/* <![CDATA[ */
var lstcommentid=8500;
var needauthoremail=true;
var sortflag="ASC";
/* ]]> */
</SCRIPT>
 
<SCRIPT src="linux常用的makefile模版编写%20%20Vimer的程序世界_files/wp-thread-comment.js(1).htm" type="text/javascript"></SCRIPT>
 </FORM></DIV></DIV><!--/div-->	 </DIV></DIV>
<DIV class="sidebar"><!--
	<div class="about-me">

		<div class="about-me-content">
			<h3>About Me</h3>
			<p>Vim非官方中文博客，致力于Vim在中国的普及。 <a href="/index.php/关于">Read more...</a></p>
		</div>

	</div>


	<div class="advertising">
		<h3>Advertising</h3>
		<p>
			<img src="wp-content/themes/AzSands-theme/images/advertising.gif" alt="Advertising" />
			<img src="wp-content/themes/AzSands-theme/images/advertising.gif" alt="Advertising" />
			<img src="wp-content/themes/AzSands-theme/images/advertising.gif" alt="Advertising" />
			<img src="wp-content/themes/AzSands-theme/images/advertising.gif" alt="Advertising" />
		</p>
	</div>
-->
	 
<DIV id="search">
<H2>搜索</H2>
<FORM id="searchform" action="http://www.vimer.cn/" method="get">
<DIV><INPUT name="s" id="s" onfocus="if (this.value == 'enter search text here...') {this.value = '';}" 
onblur="if (this.value == '') {this.value = 'enter search text here...';}" type="text" 
value="enter search text here...">
	 <INPUT id="searchsubmit" type="submit" value="Go"> </DIV></FORM></DIV>
<UL>
  <LI class="widget widget_text" id="text-6">
  <H2 class="widgettitle">赞助</H2>
  <DIV class="textwidget">
  <DIV align="center">
<SCRIPT type="text/javascript">
        /*250*250，创建于2011-3-20*/
    var cpro_id = "u416696";
    </SCRIPT>
  <BR>
<SCRIPT src="linux常用的makefile模版编写%20%20Vimer的程序世界_files/c(1).js" type="text/javascript"></SCRIPT>
   </DIV></DIV></LI>
  <LI class="widget widget_text" id="text-5">
  <H2 class="widgettitle">关注我</H2>
  <DIV class="textwidget">
  <DIV align="center"><IFRAME width="272" height="402" src="linux常用的makefile模版编写%20%20Vimer的程序世界_files/uijs.htm" 
  frameborder="0" scrolling="no"></IFRAME> </DIV></DIV></LI><!--li id="calendar"><h2>日历</h2>
			<table id="wp-calendar">
	<caption>2009 年十月</caption>
	<thead>
	<tr>
		<th scope="col" title="星期一">一</th>
		<th scope="col" title="星期二">二</th>
		<th scope="col" title="星期三">三</th>
		<th scope="col" title="星期四">四</th>
		<th scope="col" title="星期五">五</th>
		<th scope="col" title="星期六">六</th>
		<th scope="col" title="星期日">日</th>
	</tr>
	</thead>

	<tfoot>
	<tr>
		<td colspan="3" id="prev" class="pad">&nbsp;</td>
		<td class="pad">&nbsp;</td>
		<td colspan="3" id="next"><a href="http://www.vimer.cn/2009/11" title="查看 2009 年十一月的文章">十一 &raquo;</a></td>
	</tr>
	</tfoot>

	<tbody>
	<tr>
		<td colspan="3" class="pad">&nbsp;</td><td>1</td><td>2</td><td>3</td><td>4</td>
	</tr>
	<tr>
		<td>5</td><td>6</td><td>7</td><td>8</td><td>9</td><td>10</td><td>11</td>
	</tr>
	<tr>
		<td>12</td><td>13</td><td><a href="http://www.vimer.cn/2009/10/14" title="VIM-一键编译单个源文件">14</a></td><td><a href="http://www.vimer.cn/2009/10/15" title="VIM解决中文编码问题
把VIM打造成一个真正的IDE(1)">15</a></td><td><a href="http://www.vimer.cn/2009/10/16" title="加强VIM对函数体，以及HTML等标签语言的处理
驳《别碰我，VIM》">16</a></td><td><a href="http://www.vimer.cn/2009/10/17" title="把VIM打造成一个真正的IDE(2)
Vim正则表达式查找替换">17</a></td><td><a href="http://www.vimer.cn/2009/10/18" title="Vim全屏模式
如果vim是微软设计的">18</a></td>
	</tr>
	<tr>
		<td><a href="http://www.vimer.cn/2009/10/19" title="把VIM打造成一个真正的IDE(3)">19</a></td><td>20</td><td><a href="http://www.vimer.cn/2009/10/21" title="在Vim中使用ctags
Vim在源代码中自动添加作者信息">21</a></td><td><a href="http://www.vimer.cn/2009/10/22" title="Vim(gvim)实现多文件的查找和替换">22</a></td><td>23</td><td><a href="http://www.vimer.cn/2009/10/24" title="在Vim(gvim)中使用cscope">24</a></td><td><a href="http://www.vimer.cn/2009/10/25" title="IT白领收入如何实现“黑天鹅”
职场潜规则
剑法三套，程序员也能挣大钱（一）
剑法三套，程序员也能挣大钱（二）
剑法三套，程序员也能挣大钱（三）
Vim(gvim)配色方案推荐">25</a></td>
	</tr>
	<tr>
		<td><a href="http://www.vimer.cn/2009/10/26" title="编写全头文件化的C++库
epoll为什么这么快
socket编程中的connect超时详解
select函数总结
select句柄数限制">26</a></td><td><a href="http://www.vimer.cn/2009/10/27" title="tcpdump详解">27</a></td><td><a href="http://www.vimer.cn/2009/10/28" title="神奇的求平方根的代码
vim终端下中文乱码问题">28</a></td><td><a href="http://www.vimer.cn/2009/10/29" title="堆和栈的区别">29</a></td><td>30</td><td><a href="http://www.vimer.cn/2009/10/31" title="循环执行中的限速逻辑（c++）
GBK与UTF8 编码转化（C++）
linux常用的makefile模版编写
时间time_t和string(char*)格式互转">31</a></td>
		<td class="pad" colspan="1">&nbsp;</td>
	</tr>
	</tbody>
	</table>		</li-->
  			 <!--<h2>Recent Posts</h2>--> <!--
			<h2>最近更新</h2>
			<ul>
						<li><a href="http://www.vimer.cn/2013/07/%e9%87%8d%e6%96%b0%e5%bc%80%e5%a7%8b%e6%9b%b4%e6%96%b0.html">重新开始更新</a></li>
						<li><a href="http://www.vimer.cn/2013/06/%e4%b8%80%e4%b8%aa%e4%ba%ba%e5%bc%80%e5%8f%91%e6%89%8b%e6%b8%b8%e6%9c%89%e5%a4%9a%e9%9a%be%ef%bc%88%e6%89%8b%e6%b8%b8%e3%80%8a%e4%bf%9d%e5%8d%ab%e5%a6%9e%e5%a6%9e%e3%80%8b%e5%bc%80%e5%8f%91%e5%8e%86.html">一个人开发手游有多难（手游《保卫妞妞》开发历程）</a></li>
						<li><a href="http://www.vimer.cn/2012/10/%e7%99%be%e5%ba%a6%e7%ab%99%e5%86%85%e5%ba%94%e7%94%a8%e5%bc%80%e5%8f%91%e4%bd%93%e9%aa%8c%e5%8f%8ademo%e4%bb%a3%e7%a0%81.html">百度站内应用开发体验及demo代码</a></li>
						<li><a href="http://www.vimer.cn/2012/07/%e6%9c%80%e8%bf%91%e7%9a%84%e6%95%b4%e7%90%8620120730-%e5%9c%a8js%e4%b8%ad%e4%bd%bf%e7%94%a8url_for%e6%9d%a5%e5%8a%a8%e6%80%81%e7%94%9f%e6%88%90url.html">最近的整理(20120730)-在js中使用url_for来动态生成url</a></li>
						<li><a href="http://www.vimer.cn/2012/05/django1-4%e5%9c%a8%e9%85%8d%e7%bd%ae%e4%b8%8a%e7%9a%84%e4%b8%80%e4%ba%9b%e5%8f%98%e6%9b%b4.html">django1.4在配置上的一些变更</a></li>
						<li><a href="http://www.vimer.cn/2012/05/vimgvim%e6%94%af%e6%8c%81%e5%af%b9%e9%bd%90%e7%ba%bf.html">vim(gvim)支持对齐线</a></li>
						<li><a href="http://www.vimer.cn/2012/05/nginx%e8%87%aa%e5%ae%9a%e4%b9%89%e6%a8%a1%e5%9d%97%e7%bc%96%e5%86%99-%e5%ae%9e%e6%97%b6%e7%bb%9f%e8%ae%a1%e6%a8%a1%e5%9d%97.html">nginx自定义模块编写-实时统计模块</a></li>
						<li><a href="http://www.vimer.cn/2012/04/bottle%e9%ab%98%e7%ba%a7%e4%bd%bf%e7%94%a8%e6%8a%80%e5%b7%a7.html">bottle高级使用技巧</a></li>
						<li><a href="http://www.vimer.cn/2012/04/%e6%9c%80%e8%bf%91%e7%9a%84%e4%b8%80%e4%ba%9b%e6%8a%80%e6%9c%af%e6%95%b4%e7%90%86%ef%bc%8820120405%ef%bc%89.html">最近的一些技术整理（20120405）</a></li>
						<li><a href="http://www.vimer.cn/2012/03/vimgvim%e5%af%b9%e6%8e%92%e5%ba%8f%e7%9a%84%e5%a6%99%e7%94%a8.html">Vim(gVim)对排序的妙用</a></li>
						</ul>
-->
  			 
  <H2>最热文章</H2>
  <UL>
    <LI><A title="把VIM打造成一个真正的IDE(2)" href="http://www.vimer.cn/2009/10/%e6%8a%8avim%e6%89%93%e9%80%a0%e6%88%90%e4%b8%80%e4%b8%aa%e7%9c%9f%e6%ad%a3%e7%9a%84ide2.html">把VIM打造成一个真正的IDE(2)</A> 
    - 83,388 views</LI>
    <LI><A title="Vim(gvim)配色方案推荐" href="http://www.vimer.cn/2009/10/vim%e9%85%8d%e8%89%b2%e6%8e%a8%e8%8d%90.html">Vim(gvim)配色方案推荐</A> 
    - 68,383 views</LI>
    <LI><A title="把VIM打造成一个真正的IDE(3)" href="http://www.vimer.cn/2009/10/%e6%8a%8avim%e6%89%93%e9%80%a0%e6%88%90%e4%b8%80%e4%b8%aa%e7%9c%9f%e6%ad%a3%e7%9a%84ide3.html">把VIM打造成一个真正的IDE(3)</A> 
    - 66,213 views</LI>
    <LI><A title="把VIM打造成一个真正的IDE(1)" href="http://www.vimer.cn/2009/10/%e6%8a%8avim%e6%89%93%e9%80%a0%e6%88%90%e4%b8%80%e4%b8%aa%e7%9c%9f%e6%ad%a3%e7%9a%84ide1.html">把VIM打造成一个真正的IDE(1)</A> 
    - 65,110 views</LI>
    <LI><A title="本博使用的vim(gvim)相关插件整理" href="http://www.vimer.cn/2010/06/%e6%9c%ac%e5%8d%9a%e4%bd%bf%e7%94%a8%e7%9a%84vimgvim%e7%9b%b8%e5%85%b3%e6%8f%92%e4%bb%b6%e6%95%b4%e7%90%86.html">本博使用的vim(gvim)相关插件整理</A> 
    - 59,785 views</LI>
    <LI><A title="Vim（gvim）编程字体推荐" href="http://www.vimer.cn/2009/11/vim%ef%bc%88gvim%ef%bc%89%e7%bc%96%e7%a8%8b%e5%ad%97%e4%bd%93%e6%8e%a8%e8%8d%90.html">Vim（gvim）编程字体推荐</A> 
    - 58,942 views</LI>
    <LI><A title="在Vim中使用ctags" href="http://www.vimer.cn/2009/10/%e5%9c%a8vim%e4%b8%ad%e4%bd%bf%e7%94%a8ctags.html">在Vim中使用ctags</A> 
    - 56,287 views</LI>
    <LI><A title="Vim正则表达式查找替换" href="http://www.vimer.cn/2009/10/vim%e6%ad%a3%e5%88%99%e8%a1%a8%e8%be%be%e5%bc%8f%e6%9f%a5%e6%89%be%e6%9b%bf%e6%8d%a2.html">Vim正则表达式查找替换</A> 
    - 42,452 views</LI>
    <LI><A title="留言板" href="http://www.vimer.cn/%e7%95%99%e8%a8%80">留言板</A> - 
    31,981 views</LI>
    <LI><A title="VIM-一键编译单个源文件" 
    href="http://www.vimer.cn/2009/10/11.html">VIM-一键编译单个源文件</A> - 31,292 
    views</LI></UL>
  <H2>最近评论</H2>
  <UL>
    <LI>bells:<A title="on 重新开始更新" href="http://www.vimer.cn/2013/07/%e9%87%8d%e6%96%b0%e5%bc%80%e5%a7%8b%e6%9b%b4%e6%96%b0.html#comment-30754">改成Fleedy!!，挺不错的</A></LI>
    <LI>thank you for a great web log ydgmldgqkm click here :3 yhruoahb, 8| 
    mqcbqcefir [url="http://www.udrqxsayginl.net"]or here[/url] :/ curqavdqjmzl, 
    :( jqktlcpzco http://udrqxsayginl.info :D yhruoahb, :|] ydcaqryzqw 
    [url=http://udrqxsayginl.ru]dwcmxugmdq[/url:<A title="on Linux错误代码定义表" href="http://www.vimer.cn/2009/11/linux%e9%94%99%e8%af%af%e4%bb%a3%e7%a0%81%e5%ae%9a%e4%b9%89%e8%a1%a8.html#comment-30738">rptvexznahai</A></LI>
    <LI>Dante:<A title="on 抽离CodeIgniter的数据库访问类！" href="http://www.vimer.cn/2010/11/%e6%8a%bd%e7%a6%bbcodeigniter%e7%9a%84%e6%95%b0%e6%8d%ae%e5%ba%93%e8%ae%bf%e9%97%ae%e7%b1%bb%ef%bc%81.html#comment-30705">呃，很久的代码了，我直接的这里有没有-是有区别的，有一个是错</A></LI>
    <LI>秋风:<A title="on 抽离CodeIgniter的数据库访问类！" href="http://www.vimer.cn/2010/11/%e6%8a%bd%e7%a6%bbcodeigniter%e7%9a%84%e6%95%b0%e6%8d%ae%e5%ba%93%e8%ae%bf%e9%97%ae%e7%b1%bb%ef%bc%81.html#comment-30703">CI源码是直接拿这个配置发送到mysql的！so，你myco</A></LI>
    <LI>秋风:<A title="on 抽离CodeIgniter的数据库访问类！" href="http://www.vimer.cn/2010/11/%e6%8a%bd%e7%a6%bbcodeigniter%e7%9a%84%e6%95%b0%e6%8d%ae%e5%ba%93%e8%ae%bf%e9%97%ae%e7%b1%bb%ef%bc%81.html#comment-30702">great，我怎么就没想过这个问题呢！！！！</A></LI>
    <LI>秋风:<A title="on 留言板" href="http://www.vimer.cn/%e7%95%99%e8%a8%80#comment-30696">if 
    has("autocmd")    au BufR</A></LI>
    <LI>yimr:<A title="on 重新开始更新" href="http://www.vimer.cn/2013/07/%e9%87%8d%e6%96%b0%e5%bc%80%e5%a7%8b%e6%9b%b4%e6%96%b0.html#comment-30617">Google 
    Reader废弃后改用有道阅读订阅reader</A></LI>
    <LI>wgunxlrvkzhn:<A title="on Linux错误代码定义表" href="http://www.vimer.cn/2009/11/linux%e9%94%99%e8%af%af%e4%bb%a3%e7%a0%81%e5%ae%9a%e4%b9%89%e8%a1%a8.html#comment-30561">jtjpvpjrhzdx</A></LI>
    <LI>Dante:<A title="on 重新开始更新" href="http://www.vimer.cn/2013/07/%e9%87%8d%e6%96%b0%e5%bc%80%e5%a7%8b%e6%9b%b4%e6%96%b0.html#comment-30431">是呀，我现在一般在手机上看，用newsify，他给我自动转的</A></LI>
    <LI>xflash:<A title="on 重新开始更新" href="http://www.vimer.cn/2013/07/%e9%87%8d%e6%96%b0%e5%bc%80%e5%a7%8b%e6%9b%b4%e6%96%b0.html#comment-30430">由old 
    reader转过来，随便新选的，貌似没有feedl</A></LI>
    <LI>egmkang:<A title="on 重新开始更新" href="http://www.vimer.cn/2013/07/%e9%87%8d%e6%96%b0%e5%bc%80%e5%a7%8b%e6%9b%b4%e6%96%b0.html#comment-30422">同去了鲜果,感觉还可以!</A></LI>
    <LI>firo:<A title="on 使用gdb调试程序详解" href="http://www.vimer.cn/2009/11/%e4%bd%bf%e7%94%a8gdb%e8%b0%83%e8%af%95%e7%a8%8b%e5%ba%8f%e8%af%a6%e8%a7%a3.html#comment-30360">nice 
    post，前面翻译的不错。</A></LI>
    <LI>Janson:<A title="on 重新开始更新" href="http://www.vimer.cn/2013/07/%e9%87%8d%e6%96%b0%e5%bc%80%e5%a7%8b%e6%9b%b4%e6%96%b0.html#comment-30330">由 
    Feedly 进来！</A></LI>
    <LI>adou:<A title="on 一个人开发手游有多难（手游《保卫妞妞》开发历程）" href="http://www.vimer.cn/2013/06/%e4%b8%80%e4%b8%aa%e4%ba%ba%e5%bc%80%e5%8f%91%e6%89%8b%e6%b8%b8%e6%9c%89%e5%a4%9a%e9%9a%be%ef%bc%88%e6%89%8b%e6%b8%b8%e3%80%8a%e4%bf%9d%e5%8d%ab%e5%a6%9e%e5%a6%9e%e3%80%8b%e5%bc%80%e5%8f%91%e5%8e%86.html#comment-30308">今晚失眠，下一个体验一把，顺便支持一下~</A></LI>
    <LI>kk:<A title="on 重新开始更新" href="http://www.vimer.cn/2013/07/%e9%87%8d%e6%96%b0%e5%bc%80%e5%a7%8b%e6%9b%b4%e6%96%b0.html#comment-30293">嗯，转digg 
    reader 了</A></LI>
    <LI>Dante:<A title="on 本博使用的vim(gvim)相关插件整理" href="http://www.vimer.cn/2010/06/%e6%9c%ac%e5%8d%9a%e4%bd%bf%e7%94%a8%e7%9a%84vimgvim%e7%9b%b8%e5%85%b3%e6%8f%92%e4%bb%b6%e6%95%b4%e7%90%86.html#comment-30286">我没有用过pathogen，你先确认下authorinfo放</A></LI>
    <LI>Dante:<A title="on 重新开始更新" href="http://www.vimer.cn/2013/07/%e9%87%8d%e6%96%b0%e5%bc%80%e5%a7%8b%e6%9b%b4%e6%96%b0.html#comment-30284">收费基本卖不出去。。昨天开始限免了，现在在儿童游戏排行榜16</A></LI>
    <LI>magic:<A title="on 本博使用的vim(gvim)相关插件整理" href="http://www.vimer.cn/2010/06/%e6%9c%ac%e5%8d%9a%e4%bd%bf%e7%94%a8%e7%9a%84vimgvim%e7%9b%b8%e5%85%b3%e6%8f%92%e4%bb%b6%e6%95%b4%e7%90%86.html#comment-30275">求助，使用pathogen管理插件后，LZ的authorIn</A></LI>
    <LI>flyliying:<A title="on 重新开始更新" href="http://www.vimer.cn/2013/07/%e9%87%8d%e6%96%b0%e5%bc%80%e5%a7%8b%e6%9b%b4%e6%96%b0.html#comment-30272">转到鲜果去了，还在适应中，博主的游戏卖得怎么样</A></LI>
    <LI>Dante:<A title="on 重新开始更新" href="http://www.vimer.cn/2013/07/%e9%87%8d%e6%96%b0%e5%bc%80%e5%a7%8b%e6%9b%b4%e6%96%b0.html#comment-30254">还是先把评论回滚成老版了，可能邮件交流起来更轻量些~</A></LI></UL>
  <H2>文章分类</H2>
  <UL><!--	<li class="cat-item cat-item-3"><a href="http://www.vimer.cn/category/vim" title="查看 Vim 下的所有文章">Vim</a>
</li>
	<li class="cat-item cat-item-347"><a href="http://www.vimer.cn/category/webserver" title="查看 webserver 下的所有文章">webserver</a>
<ul class='children'>
	<li class="cat-item cat-item-776"><a href="http://www.vimer.cn/category/webserver/nginx" title="查看 nginx 下的所有文章">nginx</a>
</li>
</ul>
</li>
	<li class="cat-item cat-item-841"><a href="http://www.vimer.cn/category/%e4%ba%a7%e5%93%81" title="查看 产品 下的所有文章">产品</a>
</li>
	<li class="cat-item cat-item-768"><a href="http://www.vimer.cn/category/%e5%bc%80%e6%94%be%e5%b9%b3%e5%8f%b0" title="查看 开放平台 下的所有文章">开放平台</a>
</li>
	<li class="cat-item cat-item-667"><a href="http://www.vimer.cn/category/%e5%bc%80%e6%ba%90%e9%a1%b9%e7%9b%ae" title="查看 开源项目 下的所有文章">开源项目</a>
</li>
	<li class="cat-item cat-item-582"><a href="http://www.vimer.cn/category/os" title="查看 操作系统 下的所有文章">操作系统</a>
<ul class='children'>
	<li class="cat-item cat-item-5"><a href="http://www.vimer.cn/category/os/linux" title="查看 Linux 下的所有文章">Linux</a>
</li>
	<li class="cat-item cat-item-6"><a href="http://www.vimer.cn/category/os/windows" title="查看 Windows 下的所有文章">Windows</a>
</li>
</ul>
</li>
	<li class="cat-item cat-item-583"><a href="http://www.vimer.cn/category/database" title="查看 数据库 下的所有文章">数据库</a>
<ul class='children'>
	<li class="cat-item cat-item-584"><a href="http://www.vimer.cn/category/database/mysql-database" title="查看 MySql 下的所有文章">MySql</a>
</li>
</ul>
</li>
	<li class="cat-item cat-item-314"><a href="http://www.vimer.cn/category/zaxiang" title="查看 杂项 下的所有文章">杂项</a>
</li>
	<li class="cat-item cat-item-581"><a href="http://www.vimer.cn/category/program" title="查看 程序设计 下的所有文章">程序设计</a>
<ul class='children'>
	<li class="cat-item cat-item-442"><a href="http://www.vimer.cn/category/program/web3d" title="查看 3D 下的所有文章">3D</a>
</li>
	<li class="cat-item cat-item-53"><a href="http://www.vimer.cn/category/program/cc" title="查看 C/C++ 下的所有文章">C/C++</a>
</li>
	<li class="cat-item cat-item-782"><a href="http://www.vimer.cn/category/program/lua" title="查看 lua 下的所有文章">lua</a>
</li>
	<li class="cat-item cat-item-845"><a href="http://www.vimer.cn/category/program/objc" title="查看 objc 下的所有文章">objc</a>
</li>
	<li class="cat-item cat-item-585"><a href="http://www.vimer.cn/category/program/php-program" title="查看 php 下的所有文章">php</a>
</li>
	<li class="cat-item cat-item-493"><a href="http://www.vimer.cn/category/program/python" title="查看 python 下的所有文章">python</a>
</li>
	<li class="cat-item cat-item-315"><a href="http://www.vimer.cn/category/program/web" title="查看 Web 下的所有文章">Web</a>
</li>
	<li class="cat-item cat-item-625"><a href="http://www.vimer.cn/category/program/algorithm" title="查看 算法 下的所有文章">算法</a>
</li>
</ul>
</li>
-->
    					 
    <LI class="cat-item cat-item-3"><A title="查看 Vim 下的所有文章" href="http://www.vimer.cn/category/vim">Vim</A> 
    (82) </LI>
    <LI class="cat-item cat-item-347"><A title="查看 webserver 下的所有文章" href="http://www.vimer.cn/category/webserver">webserver</A> 
    (9) 
    <UL class="children">
      <LI class="cat-item cat-item-776"><A title="查看 nginx 下的所有文章" href="http://www.vimer.cn/category/webserver/nginx">nginx</A> 
      (9) </LI></UL></LI>
    <LI class="cat-item cat-item-841"><A title="查看 产品 下的所有文章" href="http://www.vimer.cn/category/%e4%ba%a7%e5%93%81">产品</A> 
    (1) </LI>
    <LI class="cat-item cat-item-768"><A title="查看 开放平台 下的所有文章" href="http://www.vimer.cn/category/%e5%bc%80%e6%94%be%e5%b9%b3%e5%8f%b0">开放平台</A> 
    (4) </LI>
    <LI class="cat-item cat-item-667"><A title="查看 开源项目 下的所有文章" href="http://www.vimer.cn/category/%e5%bc%80%e6%ba%90%e9%a1%b9%e7%9b%ae">开源项目</A> 
    (5) </LI>
    <LI class="cat-item cat-item-582"><A title="查看 操作系统 下的所有文章" href="http://www.vimer.cn/category/os">操作系统</A> 
    (94) 
    <UL class="children">
      <LI class="cat-item cat-item-5"><A title="查看 Linux 下的所有文章" href="http://www.vimer.cn/category/os/linux">Linux</A> 
      (80) </LI>
      <LI class="cat-item cat-item-6"><A title="查看 Windows 下的所有文章" href="http://www.vimer.cn/category/os/windows">Windows</A> 
      (32) </LI></UL></LI>
    <LI class="cat-item cat-item-583"><A title="查看 数据库 下的所有文章" href="http://www.vimer.cn/category/database">数据库</A> 
    (8) 
    <UL class="children">
      <LI class="cat-item cat-item-584"><A title="查看 MySql 下的所有文章" href="http://www.vimer.cn/category/database/mysql-database">MySql</A> 
      (8) </LI></UL></LI>
    <LI class="cat-item cat-item-314"><A title="查看 杂项 下的所有文章" href="http://www.vimer.cn/category/zaxiang">杂项</A> 
    (20) </LI>
    <LI class="cat-item cat-item-581"><A title="查看 程序设计 下的所有文章" href="http://www.vimer.cn/category/program">程序设计</A> 
    (162) 
    <UL class="children">
      <LI class="cat-item cat-item-442"><A title="查看 3D 下的所有文章" href="http://www.vimer.cn/category/program/web3d">3D</A> 
      (4) </LI>
      <LI class="cat-item cat-item-53"><A title="查看 C/C++ 下的所有文章" href="http://www.vimer.cn/category/program/cc">C/C++</A> 
      (95) </LI>
      <LI class="cat-item cat-item-782"><A title="查看 lua 下的所有文章" href="http://www.vimer.cn/category/program/lua">lua</A> 
      (2) </LI>
      <LI class="cat-item cat-item-845"><A title="查看 objc 下的所有文章" href="http://www.vimer.cn/category/program/objc">objc</A> 
      (1) </LI>
      <LI class="cat-item cat-item-585"><A title="查看 php 下的所有文章" href="http://www.vimer.cn/category/program/php-program">php</A> 
      (10) </LI>
      <LI class="cat-item cat-item-493"><A title="查看 python 下的所有文章" href="http://www.vimer.cn/category/program/python">python</A> 
      (40) </LI>
      <LI class="cat-item cat-item-315"><A title="查看 Web 下的所有文章" href="http://www.vimer.cn/category/program/web">Web</A> 
      (48) </LI>
      <LI class="cat-item cat-item-625"><A title="查看 算法 下的所有文章" href="http://www.vimer.cn/category/program/algorithm">算法</A> 
      (8) </LI></UL></LI></UL>
  <H2>文章归档</H2>
  <UL>
    <LI><A title="2013 年七月" href="http://www.vimer.cn/2013/07">2013 年七月</A></LI>
    <LI><A title="2013 年六月" href="http://www.vimer.cn/2013/06">2013 年六月</A></LI>
    <LI><A title="2012 年十月" href="http://www.vimer.cn/2012/10">2012 年十月</A></LI>
    <LI><A title="2012 年七月" href="http://www.vimer.cn/2012/07">2012 年七月</A></LI>
    <LI><A title="2012 年五月" href="http://www.vimer.cn/2012/05">2012 年五月</A></LI>
    <LI><A title="2012 年四月" href="http://www.vimer.cn/2012/04">2012 年四月</A></LI>
    <LI><A title="2012 年三月" href="http://www.vimer.cn/2012/03">2012 年三月</A></LI>
    <LI><A title="2012 年二月" href="http://www.vimer.cn/2012/02">2012 年二月</A></LI>
    <LI><A title="2012 年一月" href="http://www.vimer.cn/2012/01">2012 年一月</A></LI>
    <LI><A title="2011 年十二月" href="http://www.vimer.cn/2011/12">2011 
    年十二月</A></LI>
    <LI><A title="2011 年十一月" href="http://www.vimer.cn/2011/11">2011 
    年十一月</A></LI>
    <LI><A title="2011 年十月" href="http://www.vimer.cn/2011/10">2011 年十月</A></LI>
    <LI><A title="2011 年九月" href="http://www.vimer.cn/2011/09">2011 年九月</A></LI>
    <LI><A title="2011 年八月" href="http://www.vimer.cn/2011/08">2011 年八月</A></LI>
    <LI><A title="2011 年七月" href="http://www.vimer.cn/2011/07">2011 年七月</A></LI>
    <LI><A title="2011 年六月" href="http://www.vimer.cn/2011/06">2011 年六月</A></LI>
    <LI><A title="2011 年五月" href="http://www.vimer.cn/2011/05">2011 年五月</A></LI>
    <LI><A title="2011 年四月" href="http://www.vimer.cn/2011/04">2011 年四月</A></LI>
    <LI><A title="2011 年三月" href="http://www.vimer.cn/2011/03">2011 年三月</A></LI>
    <LI><A title="2011 年二月" href="http://www.vimer.cn/2011/02">2011 年二月</A></LI>
    <LI><A title="2011 年一月" href="http://www.vimer.cn/2011/01">2011 年一月</A></LI>
    <LI><A title="2010 年十二月" href="http://www.vimer.cn/2010/12">2010 
    年十二月</A></LI>
    <LI><A title="2010 年十一月" href="http://www.vimer.cn/2010/11">2010 
    年十一月</A></LI>
    <LI><A title="2010 年十月" href="http://www.vimer.cn/2010/10">2010 年十月</A></LI>
    <LI><A title="2010 年九月" href="http://www.vimer.cn/2010/09">2010 年九月</A></LI>
    <LI><A title="2010 年八月" href="http://www.vimer.cn/2010/08">2010 年八月</A></LI>
    <LI><A title="2010 年七月" href="http://www.vimer.cn/2010/07">2010 年七月</A></LI>
    <LI><A title="2010 年六月" href="http://www.vimer.cn/2010/06">2010 年六月</A></LI>
    <LI><A title="2010 年五月" href="http://www.vimer.cn/2010/05">2010 年五月</A></LI>
    <LI><A title="2010 年四月" href="http://www.vimer.cn/2010/04">2010 年四月</A></LI>
    <LI><A title="2010 年三月" href="http://www.vimer.cn/2010/03">2010 年三月</A></LI>
    <LI><A title="2010 年二月" href="http://www.vimer.cn/2010/02">2010 年二月</A></LI>
    <LI><A title="2010 年一月" href="http://www.vimer.cn/2010/01">2010 年一月</A></LI>
    <LI><A title="2009 年十二月" href="http://www.vimer.cn/2009/12">2009 
    年十二月</A></LI>
    <LI><A title="2009 年十一月" href="http://www.vimer.cn/2009/11">2009 
    年十一月</A></LI>
    <LI><A title="2009 年十月" href="http://www.vimer.cn/2009/10">2009 
  年十月</A></LI></UL><!--<h2>Pages</h2>-->			 <!--<ul>-->				 <!--<li class="page_item page-item-2"><a href="http://www.vimer.cn/%e5%85%b3%e4%ba%8e">关于</a></li>
<li class="page_item page-item-43"><a href="http://www.vimer.cn/%e9%93%be%e6%8e%a5">友情链接</a></li>
<li class="page_item page-item-39"><a href="http://www.vimer.cn/%e7%95%99%e8%a8%80">留言板</a></li>
-->
  			 <!--</ul>-->			 
  <H2>友情链接</H2>
  <UL>
    <LI><A href="http://www.webryan.net/" target="_blank" rel="friend co-resident">Ryan's 
    Blog</A></LI>
    <LI><A href="http://sinolog.it/" target="_blank">牧码志</A></LI>
    <LI><A href="http://guojing.me/" target="_blank">Guo Jing's Blog</A></LI>
    <LI><A href="http://xbeta.info/" target="_blank">善用佳软</A></LI>
    <LI><A title="关注Linux, Scala, Java, 开源软件和嵌入式系统" href="http://easwy.com/blog/" 
    target="_blank">易水博客</A></LI>
    <LI><A href="http://www.heiher.info/" target="_blank">Heiher's Blog</A></LI>
    <LI><A title="关注互联网~ 关注前端技术~" href="http://www.pjhome.net/" target="_blank" 
    rel="friend">PuterJam's Blog(pjblog作者)</A></LI>
    <LI><A title="web前端 " href="http://www.webchina110.cn/" target="_blank" rel="contact">web前端</A></LI>
    <LI><A title="Happy coding, happy living!" href="http://lilydjwg.is-programmer.com/" 
    target="_blank" rel="friend">依云's Blog</A></LI>
    <LI><A title="分享未来" href="http://leeon.me/" target="_blank" 
    rel="friend">分享未来</A></LI>
    <LI><A title="探路者" href="http://blog.csdn.net/zdl1016" target="_blank" rel="colleague">探路者</A></LI>
    <LI><A title="程序员面试之家" href="http://s.sousb.com/" target="_blank" rel="friend">程序员面试之家</A></LI>
    <LI><A title="Python.cn(news, jobs)" href="http://simple-is-better.com/" 
    target="_blank" rel="contact">Python.cn(news, jobs)</A></LI>
    <LI><A title="[hi@vpsee.com]$ su root – " href="http://www.vpsee.com/" 
    target="_blank">VPSee</A></LI>
    <LI><A href="http://www.phppan.com/" target="_blank" 
    rel="friend">PHPpan</A></LI>
    <LI><A title="专注于lamp技术" href="http://www.blags.org/" target="_blank" rel="contact">马丁博客</A></LI>
    <LI><A href="http://icodelogic.com/" target="_blank" 
    rel="friend">CodeLogic</A></LI>
    <LI><A title="热衷于开源技术，一起学习，共同进步。" href="http://blog.liuts.com/" target="_blank" 
    rel="colleague">运维进行时</A></LI>
    <LI><A href="http://www.8sme.com/" target="_blank" 
    rel="contact">广东省企业信息中心</A></LI>
    <LI><A href="http://www.zhangzhibo.net/" target="_blank">左手键盘，右手书</A></LI>
    <LI><A title="静态电影分享站" href="http://xiangshuguo.com/" target="_blank" rel="me">橡树果</A></LI>
    <LI><A title="程序员之家" href="http://www.cplusplus.me/" 
    target="_blank">程序员之家</A></LI>
    <LI><A href="http://www.bolejiang.com/" target="_blank">伯乐奖</A></LI>
    <LI><A title="疯狂猜图答案" href="http://caitu.xiuchang.info/" target="_blank" 
    rel="me">疯狂猜图答案</A></LI>
    <LI><A title="有节操的app推荐网站" href="http://apk.vimer.cn/">爱普控-应用评测</A></LI>
    <LI><A title="iphone/ipad游戏市场" href="http://apk.xiuchang.info/" target="_blank" 
    rel="me">爱普控</A></LI></UL></UL></DIV>
<DIV id="footer">
<DIV id="footer-credits">    Vimer的程序世界 | <A href="http://www.miibeian.gov.cn/" 
target="_blank">粤ICP备11073360号</A> | Powered by <A href="http://wordpress.org/" 
target="_blank">Wordpress</A> | 
<SCRIPT language="JavaScript" src="linux常用的makefile模版编写%20%20Vimer的程序世界_files/stat.js" charset="gb2312"></SCRIPT>
 
<SCRIPT type="text/javascript">
var _bdhmProtocol = (("https:" == document.location.protocol) ? " https://" : " http://");
document.write(unescape("%3Cscript src='" + _bdhmProtocol + "hm.baidu.com/h.js%3F90eb371330bfc33d1ba84099bb2ca841' type='text/javascript'%3E%3C/script%3E"));
</SCRIPT>
	 </DIV></DIV></DIV></BODY></HTML>
